using PureMVC.Interfaces;
using PureMVC.Patterns.Observer;
using WooEngine.UI.Interfaces;

namespace WooEngine.Common
{

    public abstract class AbstractMediator : Notifier,IMediator
    {
        public string MediatorName { get; private set; }

        public object ViewComponent { get; set ; }

        public virtual void Init(string mediatorName, object viewComponent)
        {
            MediatorName = mediatorName;
            ViewComponent = viewComponent;
        }

        public abstract void HandleNotification(INotification notification);

        public abstract string[] ListNotificationInterests();

        public abstract void OnRegister();

        public abstract void OnRemove();


    }
}
